package JDBC基础练习;

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class testJDBC5 {
    public static void main(String[] args) throws SQLException {
        //1.创建DataSource
        DataSource dataSource=new MysqlDataSource();
        //设置数据库信息,向下转型
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java100?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("suojie123");

        //2.和数据库建立连接
        Connection connection=dataSource.getConnection();

        //3.构造SQL语句
        String sql="select * from student";
        PreparedStatement statement=connection.prepareStatement(sql);

        //4.执行SQL语句
        ResultSet resultSet = statement.executeQuery();

        //5.遍历结果
        //  先取出结果中的每一行，再取出每一行中需要的列即可
        //  遍历代码 非常像 迭代器的遍历
        while (resultSet.next()) {
            //next() 先获取到当前行，同时将光标移动到下一行,遍历到最后，next()返回false,循环结束
            //通过resultSet.next()获取到当前行
            //再获取每一列
            int id = resultSet.getInt("id");//对应数据库中的id
            String name=resultSet.getString("name");//对应数据库中的name
            System.out.println(id+"\t"+name);
        }

        //6.释放相关资源
        resultSet.close();
        statement.close();
        connection.close();


    }
}

